Skip to content
标签
spring
定时任务
字数
194 字
阅读时间
1 分钟

一、概述

二、使用示例

2.1 入门Demo

配置线程池

java
@Configuration
@EnableScheduling
public class AsyncTaskConfig implements SchedulingConfigurer, AsyncConfigurer {
	//线程池线程数量
	private int corePoolSize = 5;
	@Bean
	public ThreadPoolTaskScheduler taskScheduler(){
		ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
		scheduler.initialize();//初始化线程池
		scheduler.setPoolSize(corePoolSize);//线程池容量
		return scheduler;
	}
	@Override
	public Executor getAsyncExecutor() {
		Executor executor = taskScheduler();
		return executor;
	}
	@Override
	public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
	return null;
	}
	@Override
	public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
	scheduledTaskRegistrar.setTaskScheduler(taskScheduler());
	}
}

使用方式

java
//在springboot启动类中添加 @EnableScheduling
//在要启动的方法上添加 @Scheduled注解

//上次执行开始时间后5秒执行
@Scheduled(fixedRate = 5000) 
//上次执行完毕后5秒执行
@Scheduled(fixedDelay = 5000) 
//第一次延迟3秒,以后每隔5秒执行一次
@Scheduled(initialDelay=3000, fixedRate=5000) 
//每隔3秒执行一次
@Scheduled(cron="0/3 * * * * *")